package cn.cqie.attendance.student.sevice;

import cn.cqie.attendance.common.util.Page;
import cn.cqie.attendance.student.domian.*;


/**
 * 学生请假service接口
 *
 * @author lfj
 */
public interface IStudentLeaveService {

    /**
     *
     * @return leaves集合
     */
    Page<Leaves> queryLeaves(QueryLeaves queryLeaves);

    /**
     * 查询请假详情
     * @param id 请假id
     * @param stuId 学生id
     * @return 学生信息
     */
    Page queryLeaveDetail(Long id,Long stuId);

    /**
     * 查询请假日志
     * @param id 请假id
     * @param stuId 学生id
     * @return
     */
    Page<LeaveLog> queryLeaveLog(Long id,Long stuId);

    /**
     * 新增学生请假
     * @param addLeaves 请假信息
     * @return
     */
    int addLeave(AddLeaves addLeaves);

    /**
     * 修改请假
     * @param addLeaves 请假信息
     * @return
     */
    Page updateLeave(AddLeaves addLeaves);

    /**
     * 根据id查询学生信息
     * @param id 学生id
     * @return
     */
    Page queryStudent(Long id);

    /**
     * 根据请假id查询附件
     * @param id 请假id
     */
    Page queryAnnex(Long id);

    /**
     * 查询请假的id，并倒序查找第一条
     */
    Integer queryLeavesId();

    /**
     * 新增请假日志
     * @return
     */
    Page addLeaveLog(AddLeaveLog addLeaveLog);

}
